#include <iostream>
using namespace std;
int f[1234]; //表示在时间 i 内的最大价值
int t[123];  //采药所用时间
int v[123];  //才药的价值
void dp(int *f, int *t, int *v, int M, int T)
{
    for (int i = 1; i <= M; i++)
        for (int j = T; j >= t[i]; j--)
            f[j] = max(f[j - t[i]] + v[i], f[j]);
}
int main()
{
    int T, M;
    cin >> T >> M;
    for (int i = 1; i <= M; i++)
        cin >> t[i] >> v[i];
    dp(f, t, v, M, T);
    cout << f[T] << endl;
    return 0;
}